const modal = { // 模态框对象
		// 消息提示
		msg(content) {
			uni.showToast({
				title: content,
				icon: 'none'
			})
		},
		// 错误消息
		msgError(content) {
			uni.showToast({
				title: content,
				icon: 'error'
			})
		},
		// 成功消息
		msgSuccess(content) {
			uni.showToast({
				title: content,
				icon: 'success'
			})
		},
		// 隐藏消息
		hideMsg() {
			uni.hideToast()
		},
		// 弹出提示
		alert(content) {
			uni.showModal({
				title: '提示',
				content: content,
				showCancel: false
			})
		},
		// 确认窗体
		confirm(content) {
			return new Promise((resolve, reject) => {
				uni.showModal({
					title: '系统提示',
					content: content,
					cancelText: '取消',
					confirmText: '确定',
					success: function(res) {
						if (res.confirm) {
							resolve(res.confirm)
						}
					}
				})
			})
		},
		// 提示信息
		showToast(option) {
			if (typeof option === "object") {
				uni.showToast(option)
			} else {
				uni.showToast({
					title: option,
					icon: "none",
					duration: 2500
				})
			}
		},
		// 打开遮罩层
		loading(content) {
			uni.showLoading({
				title: content,
				icon: 'none'
			})
		},
		// 关闭遮罩层
		closeLoading() {
			uni.hideLoading()
		}
	},
	auth = { // 认证对象	
		// 验证用户是否具备某权限
		hasPermi(permission) {
			return authPermission(permission)
		},
		// 验证用户是否含有指定权限，只需包含其中一个
		hasPermiOr(permissions) {
			return permissions.some(item => {
				return authPermission(item)
			})
		},
		// 验证用户是否含有指定权限，必须全部拥有
		hasPermiAnd(permissions) {
			return permissions.every(item => {
				return authPermission(item)
			})
		},
		// 验证用户是否具备某角色
		hasRole(role) {
			return authRole(role)
		},
		// 验证用户是否含有指定角色，只需包含其中一个
		hasRoleOr(roles) {
			return roles.some(item => {
				return authRole(item)
			})
		},
		// 验证用户是否含有指定角色，必须全部拥有
		hasRoleAnd(roles) {
			return roles.every(item => {
				return authRole(item)
			})
		}
	}
export default {
	install(App) {
		for (let [key, value] of Object.entries(Object.assign(modal))) {
			App.config.globalProperties[key] = value;
		}
	},
}
